/*
 * Copyright (c) Jack魏 2023 - 2023, All Rights Reserved.
 */

package cn.jackwei.yiyi.util;

import cn.hutool.cache.CacheUtil;
import cn.hutool.cache.impl.TimedCache;
import cn.hutool.core.date.DateUnit;

/**
 * 本地缓存
 *
 * @author Jack魏
 * @since 2023/11/11 19:50
 */
public class MyCacheUtil {
    // 创建缓存，默认1分钟过期
    private static TimedCache<String, String> timedCache = CacheUtil.newTimedCache(DateUnit.MINUTE.getMillis());

    static {
        // 定时清理缓存 3小时一次
        timedCache.schedulePrune(DateUnit.HOUR.getMillis() * 3);
    }

    /**
     * 不能实例化
     */
    private MyCacheUtil() {
    }

    /**
     * 设置缓存
     *
     * @param key    键
     * @param value  值
     * @param minute 过期分钟
     */
    public static void put(String key, String value, Integer minute) {
        // 验证码3分钟过期
        timedCache.put(key, value, DateUnit.MINUTE.getMillis() * minute);
    }

    /**
     * 根据key获取值
     *
     * @param key 键
     * @return 值
     */
    public static String get(String key) {
        return timedCache.get(key);
    }
}
